package unmsm.eapisw.taller.srh_persistencia.modelo;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="SRH_TIPOHABITACION")
public class TipoHabitacion {
	private int id;
	private String nombre;
	private String descripcion;
	private float tarifa;
	private Hotel hotel;
	private Set<HabitacionIMG> imgs_hab = new HashSet<HabitacionIMG>(0);
	private Set<Habitacion> habitaciones = new HashSet<Habitacion>(0);

	public TipoHabitacion() {
	
	}
	public TipoHabitacion(int id) {
		this.id = id;
	}
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="IN_IDTIPOHABITACION" )
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	
	@OneToMany(mappedBy = "tipo_hab")
	public Set<HabitacionIMG> getImgs_hab() {
		return imgs_hab;
	}
	public void setImgs_hab(Set<HabitacionIMG> imgs_hab) {
		this.imgs_hab = imgs_hab;
	}
	
	public void addIMGS(HabitacionIMG himg){
		imgs_hab.add(himg);
	}
	
	//@ManyToOne(cascade = CascadeType.ALL)//cambio hecho en alignet
	@ManyToOne
	@JoinColumn(name = "IN_IDHOTEL")
	public Hotel getHotel() {
		return hotel;
	}
	public void setHotel(Hotel hotel) {
		this.hotel = hotel;
	}
	
	@Column(name="VC_NOMBRE")
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	public void addHabitacion(Habitacion hb){
		habitaciones.add(hb);
	}
	
	@OneToMany(mappedBy = "tipo_habitacion")
	public Set<Habitacion> getHabitaciones() {
		return habitaciones;
	}
	public void setHabitaciones(Set<Habitacion> habitaciones) {
		this.habitaciones = habitaciones;
	}
	@Column(name="VC_DESCRIPCION")
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	@Column(name="DC_TARIFA")
	public float getTarifa() {
		return tarifa;
	}
	public void setTarifa(float tarifa) {
		this.tarifa = tarifa;
	}
	
	
}
